package com.jianhua.backend.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 用于临时存储用户与重置 Token 的映射关系（开发测试用）
 * 生产环境建议使用 Redis 替代
 */
public class PasswordResetTokenStore {

    // key: token, value: userId
    private static final Map<String, Integer> tokenMap = new HashMap<>();
    private static final long EXPIRE_TIME = 5 * 60 * 1000; // 5分钟有效期

    /**
     * 存储 token 和用户 ID 的关系
     */
    public static void storeToken(Integer userId, String token) {
        tokenMap.put(token, userId);
    }

    /**
     * 验证 token 是否有效，并获取对应的用户 ID
     */
    public static Integer validateToken(String token) {
        Integer userId = tokenMap.get(token);
        if (userId == null) {
            return null;
        }
        return userId;
    }

    /**
     * 移除已使用的 token
     */
    public static void removeToken(String token) {
        tokenMap.remove(token);
    }
}
